package com.chinawlx.wlxteacher;

import com.chinawlx.wlxteacher.wlx_auth;
import com.chinawlx.wlxteacher.wlx_authDao;
import com.chinawlx.wlxteacher.wlx_config;
import com.chinawlx.wlxteacher.wlx_configDao;
import com.chinawlx.wlxteacher.wlx_file;
import com.chinawlx.wlxteacher.wlx_fileDao;
import com.chinawlx.wlxteacher.wlx_grade;
import com.chinawlx.wlxteacher.wlx_gradeDao;
import com.chinawlx.wlxteacher.wlx_grade_notice;
import com.chinawlx.wlxteacher.wlx_grade_noticeDao;
import com.chinawlx.wlxteacher.wlx_grade_timeline;
import com.chinawlx.wlxteacher.wlx_grade_timelineDao;
import com.chinawlx.wlxteacher.wlx_homework;
import com.chinawlx.wlxteacher.wlx_homeworkDao;
import com.chinawlx.wlxteacher.wlx_homework_comment;
import com.chinawlx.wlxteacher.wlx_homework_commentDao;
import com.chinawlx.wlxteacher.wlx_homework_statistics;
import com.chinawlx.wlxteacher.wlx_homework_statisticsDao;
import com.chinawlx.wlxteacher.wlx_message;
import com.chinawlx.wlxteacher.wlx_messageDao;
import com.chinawlx.wlxteacher.wlx_org_classroom;
import com.chinawlx.wlxteacher.wlx_org_classroomDao;
import com.chinawlx.wlxteacher.wlx_org_space;
import com.chinawlx.wlxteacher.wlx_org_spaceDao;
import com.chinawlx.wlxteacher.wlx_schedule;
import com.chinawlx.wlxteacher.wlx_scheduleDao;
import com.chinawlx.wlxteacher.wlx_schedule_addition;
import com.chinawlx.wlxteacher.wlx_schedule_additionDao;
import com.chinawlx.wlxteacher.wlx_schedule_change;
import com.chinawlx.wlxteacher.wlx_schedule_changeDao;
import com.chinawlx.wlxteacher.wlx_schedule_score;
import com.chinawlx.wlxteacher.wlx_schedule_scoreDao;
import com.chinawlx.wlxteacher.wlx_statistics_student_class;
import com.chinawlx.wlxteacher.wlx_statistics_student_classDao;
import com.chinawlx.wlxteacher.wlx_statistics_teacher_schedule_day;
import com.chinawlx.wlxteacher.wlx_statistics_teacher_schedule_dayDao;
import com.chinawlx.wlxteacher.wlx_statistics_teacher_schedule_month;
import com.chinawlx.wlxteacher.wlx_statistics_teacher_schedule_monthDao;
import com.chinawlx.wlxteacher.wlx_student;
import com.chinawlx.wlxteacher.wlx_studentDao;
import com.chinawlx.wlxteacher.wlx_student_level;
import com.chinawlx.wlxteacher.wlx_student_levelDao;
import com.chinawlx.wlxteacher.wlx_student_medal;
import com.chinawlx.wlxteacher.wlx_student_medalDao;
import com.chinawlx.wlxteacher.wlx_student_order_detail;
import com.chinawlx.wlxteacher.wlx_student_order_detailDao;
import com.chinawlx.wlxteacher.wlx_student_study;
import com.chinawlx.wlxteacher.wlx_student_studyDao;
import com.chinawlx.wlxteacher.wlx_user;
import com.chinawlx.wlxteacher.wlx_userDao;
import com.chinawlx.wlxteacher.wlx_user_friend;
import com.chinawlx.wlxteacher.wlx_user_friendDao;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import java.util.Map;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig wlx_userDaoConfig;
    private final DaoConfig wlx_authDaoConfig;
    private final DaoConfig wlx_configDaoConfig;
    private final DaoConfig wlx_fileDaoConfig;
    private final DaoConfig wlx_gradeDaoConfig;
    private final DaoConfig wlx_grade_noticeDaoConfig;
    private final DaoConfig wlx_grade_timelineDaoConfig;
    private final DaoConfig wlx_homeworkDaoConfig;
    private final DaoConfig wlx_homework_commentDaoConfig;
    private final DaoConfig wlx_homework_statisticsDaoConfig;
    private final DaoConfig wlx_messageDaoConfig;
    private final DaoConfig wlx_org_classroomDaoConfig;
    private final DaoConfig wlx_org_spaceDaoConfig;
    private final DaoConfig wlx_scheduleDaoConfig;
    private final DaoConfig wlx_schedule_additionDaoConfig;
    private final DaoConfig wlx_schedule_changeDaoConfig;
    private final DaoConfig wlx_statistics_student_classDaoConfig;
    private final DaoConfig wlx_statistics_teacher_schedule_dayDaoConfig;
    private final DaoConfig wlx_statistics_teacher_schedule_monthDaoConfig;
    private final DaoConfig wlx_studentDaoConfig;
    private final DaoConfig wlx_student_levelDaoConfig;
    private final DaoConfig wlx_student_medalDaoConfig;
    private final DaoConfig wlx_student_order_detailDaoConfig;
    private final DaoConfig wlx_student_studyDaoConfig;
    private final DaoConfig wlx_user_friendDaoConfig;
    private final DaoConfig wlx_schedule_scoreDaoConfig;

    private final wlx_userDao wlx_userDao;
    private final wlx_authDao wlx_authDao;
    private final wlx_configDao wlx_configDao;
    private final wlx_fileDao wlx_fileDao;
    private final wlx_gradeDao wlx_gradeDao;
    private final wlx_grade_noticeDao wlx_grade_noticeDao;
    private final wlx_grade_timelineDao wlx_grade_timelineDao;
    private final wlx_homeworkDao wlx_homeworkDao;
    private final wlx_homework_commentDao wlx_homework_commentDao;
    private final wlx_homework_statisticsDao wlx_homework_statisticsDao;
    private final wlx_messageDao wlx_messageDao;
    private final wlx_org_classroomDao wlx_org_classroomDao;
    private final wlx_org_spaceDao wlx_org_spaceDao;
    private final wlx_scheduleDao wlx_scheduleDao;
    private final wlx_schedule_additionDao wlx_schedule_additionDao;
    private final wlx_schedule_changeDao wlx_schedule_changeDao;
    private final wlx_statistics_student_classDao wlx_statistics_student_classDao;
    private final wlx_statistics_teacher_schedule_dayDao wlx_statistics_teacher_schedule_dayDao;
    private final wlx_statistics_teacher_schedule_monthDao wlx_statistics_teacher_schedule_monthDao;
    private final wlx_studentDao wlx_studentDao;
    private final wlx_student_levelDao wlx_student_levelDao;
    private final wlx_student_medalDao wlx_student_medalDao;
    private final wlx_student_order_detailDao wlx_student_order_detailDao;
    private final wlx_student_studyDao wlx_student_studyDao;
    private final wlx_user_friendDao wlx_user_friendDao;
    private final wlx_schedule_scoreDao wlx_schedule_scoreDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        wlx_userDaoConfig = daoConfigMap.get(wlx_userDao.class).clone();
        wlx_userDaoConfig.initIdentityScope(type);

        wlx_authDaoConfig = daoConfigMap.get(wlx_authDao.class).clone();
        wlx_authDaoConfig.initIdentityScope(type);

        wlx_configDaoConfig = daoConfigMap.get(wlx_configDao.class).clone();
        wlx_configDaoConfig.initIdentityScope(type);

        wlx_fileDaoConfig = daoConfigMap.get(wlx_fileDao.class).clone();
        wlx_fileDaoConfig.initIdentityScope(type);

        wlx_gradeDaoConfig = daoConfigMap.get(wlx_gradeDao.class).clone();
        wlx_gradeDaoConfig.initIdentityScope(type);

        wlx_grade_noticeDaoConfig = daoConfigMap.get(wlx_grade_noticeDao.class).clone();
        wlx_grade_noticeDaoConfig.initIdentityScope(type);

        wlx_grade_timelineDaoConfig = daoConfigMap.get(wlx_grade_timelineDao.class).clone();
        wlx_grade_timelineDaoConfig.initIdentityScope(type);

        wlx_homeworkDaoConfig = daoConfigMap.get(wlx_homeworkDao.class).clone();
        wlx_homeworkDaoConfig.initIdentityScope(type);

        wlx_homework_commentDaoConfig = daoConfigMap.get(wlx_homework_commentDao.class).clone();
        wlx_homework_commentDaoConfig.initIdentityScope(type);

        wlx_homework_statisticsDaoConfig = daoConfigMap.get(wlx_homework_statisticsDao.class).clone();
        wlx_homework_statisticsDaoConfig.initIdentityScope(type);

        wlx_messageDaoConfig = daoConfigMap.get(wlx_messageDao.class).clone();
        wlx_messageDaoConfig.initIdentityScope(type);

        wlx_org_classroomDaoConfig = daoConfigMap.get(wlx_org_classroomDao.class).clone();
        wlx_org_classroomDaoConfig.initIdentityScope(type);

        wlx_org_spaceDaoConfig = daoConfigMap.get(wlx_org_spaceDao.class).clone();
        wlx_org_spaceDaoConfig.initIdentityScope(type);

        wlx_scheduleDaoConfig = daoConfigMap.get(wlx_scheduleDao.class).clone();
        wlx_scheduleDaoConfig.initIdentityScope(type);

        wlx_schedule_additionDaoConfig = daoConfigMap.get(wlx_schedule_additionDao.class).clone();
        wlx_schedule_additionDaoConfig.initIdentityScope(type);

        wlx_schedule_changeDaoConfig = daoConfigMap.get(wlx_schedule_changeDao.class).clone();
        wlx_schedule_changeDaoConfig.initIdentityScope(type);

        wlx_statistics_student_classDaoConfig = daoConfigMap.get(wlx_statistics_student_classDao.class).clone();
        wlx_statistics_student_classDaoConfig.initIdentityScope(type);

        wlx_statistics_teacher_schedule_dayDaoConfig = daoConfigMap.get(wlx_statistics_teacher_schedule_dayDao.class).clone();
        wlx_statistics_teacher_schedule_dayDaoConfig.initIdentityScope(type);

        wlx_statistics_teacher_schedule_monthDaoConfig = daoConfigMap.get(wlx_statistics_teacher_schedule_monthDao.class).clone();
        wlx_statistics_teacher_schedule_monthDaoConfig.initIdentityScope(type);

        wlx_studentDaoConfig = daoConfigMap.get(wlx_studentDao.class).clone();
        wlx_studentDaoConfig.initIdentityScope(type);

        wlx_student_levelDaoConfig = daoConfigMap.get(wlx_student_levelDao.class).clone();
        wlx_student_levelDaoConfig.initIdentityScope(type);

        wlx_student_medalDaoConfig = daoConfigMap.get(wlx_student_medalDao.class).clone();
        wlx_student_medalDaoConfig.initIdentityScope(type);

        wlx_student_order_detailDaoConfig = daoConfigMap.get(wlx_student_order_detailDao.class).clone();
        wlx_student_order_detailDaoConfig.initIdentityScope(type);

        wlx_student_studyDaoConfig = daoConfigMap.get(wlx_student_studyDao.class).clone();
        wlx_student_studyDaoConfig.initIdentityScope(type);

        wlx_user_friendDaoConfig = daoConfigMap.get(wlx_user_friendDao.class).clone();
        wlx_user_friendDaoConfig.initIdentityScope(type);

        wlx_schedule_scoreDaoConfig = daoConfigMap.get(wlx_schedule_scoreDao.class).clone();
        wlx_schedule_scoreDaoConfig.initIdentityScope(type);

        wlx_userDao = new wlx_userDao(wlx_userDaoConfig, this);
        wlx_authDao = new wlx_authDao(wlx_authDaoConfig, this);
        wlx_configDao = new wlx_configDao(wlx_configDaoConfig, this);
        wlx_fileDao = new wlx_fileDao(wlx_fileDaoConfig, this);
        wlx_gradeDao = new wlx_gradeDao(wlx_gradeDaoConfig, this);
        wlx_grade_noticeDao = new wlx_grade_noticeDao(wlx_grade_noticeDaoConfig, this);
        wlx_grade_timelineDao = new wlx_grade_timelineDao(wlx_grade_timelineDaoConfig, this);
        wlx_homeworkDao = new wlx_homeworkDao(wlx_homeworkDaoConfig, this);
        wlx_homework_commentDao = new wlx_homework_commentDao(wlx_homework_commentDaoConfig, this);
        wlx_homework_statisticsDao = new wlx_homework_statisticsDao(wlx_homework_statisticsDaoConfig, this);
        wlx_messageDao = new wlx_messageDao(wlx_messageDaoConfig, this);
        wlx_org_classroomDao = new wlx_org_classroomDao(wlx_org_classroomDaoConfig, this);
        wlx_org_spaceDao = new wlx_org_spaceDao(wlx_org_spaceDaoConfig, this);
        wlx_scheduleDao = new wlx_scheduleDao(wlx_scheduleDaoConfig, this);
        wlx_schedule_additionDao = new wlx_schedule_additionDao(wlx_schedule_additionDaoConfig, this);
        wlx_schedule_changeDao = new wlx_schedule_changeDao(wlx_schedule_changeDaoConfig, this);
        wlx_statistics_student_classDao = new wlx_statistics_student_classDao(wlx_statistics_student_classDaoConfig, this);
        wlx_statistics_teacher_schedule_dayDao = new wlx_statistics_teacher_schedule_dayDao(wlx_statistics_teacher_schedule_dayDaoConfig, this);
        wlx_statistics_teacher_schedule_monthDao = new wlx_statistics_teacher_schedule_monthDao(wlx_statistics_teacher_schedule_monthDaoConfig, this);
        wlx_studentDao = new wlx_studentDao(wlx_studentDaoConfig, this);
        wlx_student_levelDao = new wlx_student_levelDao(wlx_student_levelDaoConfig, this);
        wlx_student_medalDao = new wlx_student_medalDao(wlx_student_medalDaoConfig, this);
        wlx_student_order_detailDao = new wlx_student_order_detailDao(wlx_student_order_detailDaoConfig, this);
        wlx_student_studyDao = new wlx_student_studyDao(wlx_student_studyDaoConfig, this);
        wlx_user_friendDao = new wlx_user_friendDao(wlx_user_friendDaoConfig, this);
        wlx_schedule_scoreDao = new wlx_schedule_scoreDao(wlx_schedule_scoreDaoConfig, this);

        registerDao(wlx_user.class, wlx_userDao);
        registerDao(wlx_auth.class, wlx_authDao);
        registerDao(wlx_config.class, wlx_configDao);
        registerDao(wlx_file.class, wlx_fileDao);
        registerDao(wlx_grade.class, wlx_gradeDao);
        registerDao(wlx_grade_notice.class, wlx_grade_noticeDao);
        registerDao(wlx_grade_timeline.class, wlx_grade_timelineDao);
        registerDao(wlx_homework.class, wlx_homeworkDao);
        registerDao(wlx_homework_comment.class, wlx_homework_commentDao);
        registerDao(wlx_homework_statistics.class, wlx_homework_statisticsDao);
        registerDao(wlx_message.class, wlx_messageDao);
        registerDao(wlx_org_classroom.class, wlx_org_classroomDao);
        registerDao(wlx_org_space.class, wlx_org_spaceDao);
        registerDao(wlx_schedule.class, wlx_scheduleDao);
        registerDao(wlx_schedule_addition.class, wlx_schedule_additionDao);
        registerDao(wlx_schedule_change.class, wlx_schedule_changeDao);
        registerDao(wlx_statistics_student_class.class, wlx_statistics_student_classDao);
        registerDao(wlx_statistics_teacher_schedule_day.class, wlx_statistics_teacher_schedule_dayDao);
        registerDao(wlx_statistics_teacher_schedule_month.class, wlx_statistics_teacher_schedule_monthDao);
        registerDao(wlx_student.class, wlx_studentDao);
        registerDao(wlx_student_level.class, wlx_student_levelDao);
        registerDao(wlx_student_medal.class, wlx_student_medalDao);
        registerDao(wlx_student_order_detail.class, wlx_student_order_detailDao);
        registerDao(wlx_student_study.class, wlx_student_studyDao);
        registerDao(wlx_user_friend.class, wlx_user_friendDao);
        registerDao(wlx_schedule_score.class, wlx_schedule_scoreDao);
    }
    
    public void clear() {
        wlx_userDaoConfig.getIdentityScope().clear();
        wlx_authDaoConfig.getIdentityScope().clear();
        wlx_configDaoConfig.getIdentityScope().clear();
        wlx_fileDaoConfig.getIdentityScope().clear();
        wlx_gradeDaoConfig.getIdentityScope().clear();
        wlx_grade_noticeDaoConfig.getIdentityScope().clear();
        wlx_grade_timelineDaoConfig.getIdentityScope().clear();
        wlx_homeworkDaoConfig.getIdentityScope().clear();
        wlx_homework_commentDaoConfig.getIdentityScope().clear();
        wlx_homework_statisticsDaoConfig.getIdentityScope().clear();
        wlx_messageDaoConfig.getIdentityScope().clear();
        wlx_org_classroomDaoConfig.getIdentityScope().clear();
        wlx_org_spaceDaoConfig.getIdentityScope().clear();
        wlx_scheduleDaoConfig.getIdentityScope().clear();
        wlx_schedule_additionDaoConfig.getIdentityScope().clear();
        wlx_schedule_changeDaoConfig.getIdentityScope().clear();
        wlx_statistics_student_classDaoConfig.getIdentityScope().clear();
        wlx_statistics_teacher_schedule_dayDaoConfig.getIdentityScope().clear();
        wlx_statistics_teacher_schedule_monthDaoConfig.getIdentityScope().clear();
        wlx_studentDaoConfig.getIdentityScope().clear();
        wlx_student_levelDaoConfig.getIdentityScope().clear();
        wlx_student_medalDaoConfig.getIdentityScope().clear();
        wlx_student_order_detailDaoConfig.getIdentityScope().clear();
        wlx_student_studyDaoConfig.getIdentityScope().clear();
        wlx_user_friendDaoConfig.getIdentityScope().clear();
        wlx_schedule_scoreDaoConfig.getIdentityScope().clear();
    }

    public wlx_userDao getWlx_userDao() {
        return wlx_userDao;
    }

    public wlx_authDao getWlx_authDao() {
        return wlx_authDao;
    }

    public wlx_configDao getWlx_configDao() {
        return wlx_configDao;
    }

    public wlx_fileDao getWlx_fileDao() {
        return wlx_fileDao;
    }

    public wlx_gradeDao getWlx_gradeDao() {
        return wlx_gradeDao;
    }

    public wlx_grade_noticeDao getWlx_grade_noticeDao() {
        return wlx_grade_noticeDao;
    }

    public wlx_grade_timelineDao getWlx_grade_timelineDao() {
        return wlx_grade_timelineDao;
    }

    public wlx_homeworkDao getWlx_homeworkDao() {
        return wlx_homeworkDao;
    }

    public wlx_homework_commentDao getWlx_homework_commentDao() {
        return wlx_homework_commentDao;
    }

    public wlx_homework_statisticsDao getWlx_homework_statisticsDao() {
        return wlx_homework_statisticsDao;
    }

    public wlx_messageDao getWlx_messageDao() {
        return wlx_messageDao;
    }

    public wlx_org_classroomDao getWlx_org_classroomDao() {
        return wlx_org_classroomDao;
    }

    public wlx_org_spaceDao getWlx_org_spaceDao() {
        return wlx_org_spaceDao;
    }

    public wlx_scheduleDao getWlx_scheduleDao() {
        return wlx_scheduleDao;
    }

    public wlx_schedule_additionDao getWlx_schedule_additionDao() {
        return wlx_schedule_additionDao;
    }

    public wlx_schedule_changeDao getWlx_schedule_changeDao() {
        return wlx_schedule_changeDao;
    }

    public wlx_statistics_student_classDao getWlx_statistics_student_classDao() {
        return wlx_statistics_student_classDao;
    }

    public wlx_statistics_teacher_schedule_dayDao getWlx_statistics_teacher_schedule_dayDao() {
        return wlx_statistics_teacher_schedule_dayDao;
    }

    public wlx_statistics_teacher_schedule_monthDao getWlx_statistics_teacher_schedule_monthDao() {
        return wlx_statistics_teacher_schedule_monthDao;
    }

    public wlx_studentDao getWlx_studentDao() {
        return wlx_studentDao;
    }

    public wlx_student_levelDao getWlx_student_levelDao() {
        return wlx_student_levelDao;
    }

    public wlx_student_medalDao getWlx_student_medalDao() {
        return wlx_student_medalDao;
    }

    public wlx_student_order_detailDao getWlx_student_order_detailDao() {
        return wlx_student_order_detailDao;
    }

    public wlx_student_studyDao getWlx_student_studyDao() {
        return wlx_student_studyDao;
    }

    public wlx_user_friendDao getWlx_user_friendDao() {
        return wlx_user_friendDao;
    }

    public wlx_schedule_scoreDao getWlx_schedule_scoreDao() {
        return wlx_schedule_scoreDao;
    }

}
